/*
 * Created on Sep 18, 2004
 *
 */
package aima.logic.fol.parsing;

import aima.logic.fol.parsing.ast.ConnectedSentence;
import aima.logic.fol.parsing.ast.Constant;
import aima.logic.fol.parsing.ast.Function;
import aima.logic.fol.parsing.ast.NotSentence;
import aima.logic.fol.parsing.ast.ParanthizedSentence;
import aima.logic.fol.parsing.ast.Predicate;
import aima.logic.fol.parsing.ast.QuantifiedSentence;
import aima.logic.fol.parsing.ast.TermEquality;
import aima.logic.fol.parsing.ast.Variable;

/**
 * @author Ravi Mohan
 *
 */
public interface FOLVisitor {
	public Object visitPredicate(Predicate p,Object arg);

	public Object visitTermEquality(TermEquality equality,Object arg);

	public Object visitVariable(Variable variable,Object arg);

	public Object visitConstant(Constant constant,Object arg);

	public Object visitFunction(Function function,Object arg);

	public Object visitNotSentence(NotSentence sentence,Object arg);

	public Object visitConnectedSentence(ConnectedSentence sentence,Object arg);

	public Object visitParanthizedSentence(ParanthizedSentence sentence,Object arg);

	public Object visitQuantifiedSentence(QuantifiedSentence sentence,Object arg);

	

}
